1. Field of the Invention
This invention relates to producing a data file having different file format elements encapsulated within the data file. More particularly, the present invention relates to a data file in which different types of data, such as video and sound, are stored in a unified encapsulated format that can be repeatedly assembled, stored, and sent.
2. Description of the Related Art
Modern computer files may include parts representing various kinds of information. The parts are specially coded to represent the information. Moreover, each set of bits in modern computer files is coded in a unique way to represent a unique kind of information. For example, the ASCII coding system assigns a bit sequence to each alphanumeric character of the ASCII set. That bit sequence represents the character, however, only if one knows that it is ASCII.
Bits can also be used to represent image and sound data. For example, image data may be represented in BITMAP format, or in various compressed image data formats. The set of bits itself, however, has no meaning unless one knows the format. The ASCII code for a particular alphanumeric character could equally well represent a sequence of sound, or a portion of an image. Different kinds of files are used, therefore, to transfer different kinds of information.
It has become highly desirable to transmit different kinds of information, such as graphics, video, and/or sound, over a channel to a user. A so-called multimedia document includes different kinds of information. One example of a multimedia document is found in hypertext markup language (HTML) encoded format on the worldwide web. This information is a document in the sense that, once downloaded, a document-like image appears on the computer display. (As used in the remainder of the description, the term document is to be construed broadly to incorporate data files that include text, images, and/or other information that can be presented on a computer like a printed document.) The display shows rich text (i.e., text that is coded in terms of its size, color, and font) as well as images located at different locations within the document. A worldwide web downloaded document can also include sound.
The various kinds of information in a multimedia document are each formed from a separate file that includes instructions about where the pieces of the document should go. For example, an HTML document includes rich text information, along with commands to insert additional information. Such additional information, typically GIF or JPEG image files, is separately downloaded and inserted into the text of the document.
The original format for downloading HTML documents displayed the formed document only when it was completely downloaded. While modern enhancements allow portions of the image to be displayed while downloading, most do not allow playing of the sounds added to the download until the sound file is completely received.
The download of HTML documents cannot be sequenced or choreographed, because information is downloaded as it becomes available. For example, if the document includes multiple images, they may come in any order. Moreover, actions may not be choreographed with image download or with text download.
It is difficult to save an HTML document, because the document is a text document that includes commands for additional images. The images are not part of the HTML document, but rather separate sub-documents. The perceived display of an HTML documents is thus assembled from separate downloaded pieces of information. HTML documents cannot be easily saved, however, because no connection exists between the various pieces of information and the various sub-documents. Moreover, HTML documents cannot be easily reassembled or resent. While proposals do exist for “encapsulated” HTML that would allow an HTML document and its component parts to be concurrently saved for later viewing or forwarding, these proposals suffer from a variety of restrictions, and none would allow for data to be choreographed by the author. For the remainder of this description, choreographing will refer to allowing a document author to select or define the relative times at which various document components, such as images, text, or sound, are played or displayed by a computer.